Maplay 1.2+ for Win32 Web Site Last modified: April 20, 1997 --------------------------------------------------------------------------- Newest version released: 1.81 Latest News: The layer III version of maplay 1.2+ for Win32 is now available, including the complete source code! It requires at least a Pentium-60 CPU for stereo layer III streams. The overall performance of the decoder, for all layers has increased. See the file whatsnew.txt for a complete description of the changes. This version should be very portable because I spent a lot of time making it so. I also did a minor port to the Win32 console. See the porting section for information. This console version for Win32s is also now available! It should work on Windows 3.1 systems with Win32s installed. Anyone who is interested in purchasing a DLL, let me know. The layer III decoder of maplay is highly optimized from the original public c source, but still is quite CPU intensive. If you are interested in making optimizations (and getting a share of the glory) please don't bother with the following functions, which I've already gotten optimizations for: * Bit_Reserve::get_bits() * Ibitstream::read_buffer() Optimizations for any other functions are welcomed. Send them to ctsay@pasteur.eecs.berkeley.edu! What is maplay 1.2? Maplay 1.2 is a program written for UNIX systems by Tobias Bading. What it does is decodes MPEG Audio Layer I and II files, which are factor of 6-12 times smaller than uncompressed audio (like Windows PCM WAVE, Sun AU, or Mac AIFF files). Despite the huge compression, there is no audible signal loss! Using MPEG Audio Layer III, you can retain CD-quality sound at compression ratios around 1:11 (112 kbit/s). Unfortunately, decoding MPEG audio streams is a very CPU intensive process. And until now, there have been no fully-featured decoders available for Windows. What is maplay 1.2+ for Win32? Thanks to Bading's hard work in maintaining portability in maplay, I was able to re-target maplay to run on the Windows 95 and Windows NT operating systems. I also added a few features such as WAV playing, pausing, stopping, and repeating MPEG audio playback. It took about 4 weeks, since I had no prior Windows programming experience. Now after a year of work, maplay 1.2+ for Win32 also has support for layer III MPEG-1 audio streams. What do I need to run maplay 1.2+ for Win32? Maplay 1.2+ for Win32 requires the following hardware and software to run: * 486 or higher CPU (Pentium required for stereo playback.) * Either the Windows 95 or Windows NT operating system. It will not run on Windows 3.1 or lower operating systems, even if you have Win32s. However, there is now a console version that should run on Windows 3.1 with Win32s (someone please confirm this). * A 16-bit sound card, and the appropriate driver for Windows. (I have reports that 8-bit sound cards such as the SB Pro and SB work as well.) What about the competition? Ever since maplay 1.2 for Win32 was released, many other MPEG audio decoders for Windows have also been released. But I still think maplay 1.2 for Win32 is still the best! Compare the features in the following table: Program Layer Layer Layer WAV Bits/sample Sample Stereo I II III freq. XingSound1 ? Yes No Yes 162 22.0 No kHz AMAPLAY ? Yes No No 16 48.0 Yes kHz Philips 48.0 mpgplay No Yes No No 16 kHz Yes ActiveMovie ? Yes No Yes4 16 48.0 Yes kHz WinPlay3 No No Yes No 16 48.0 Yes kHz museArc No Yes Yes No 16 48.0 Yes kHz maplay for 48.0 Win32 Yes Yes Yes Yes 16 kHz Yes Program Seeks Playlists Interface Win3.1 Win95 WinNT Distributed As: XingSound Yes No OK Yes Yes3 Yes3 Freeware AMAPLAY Yes No Ugly! No Yes3 Yes3 Shareware Philips Yes3 Yes3 mpgplay No No Good No Freeware ActiveMovie Yes No Media No Yes Yes Freeware Player WinPlay3 No Yes Good Yes Yes3 Yes3 Shareware museArc Yes Yes OK Yes Yes Yes Shareware maplay for Win32 Yes Yes Good No Yes Yes Freeware 1Freeware version of XingSound. There is a full-featured version, but it is not free. 2Low precision 3Not a native 32-bit program 4Through Media Player I have to admit that WinPlay3 is a great program. Unlike maplay 1.2+ for Win32, it has very low CPU utilization, support for MPEG-2 Low Frequency Extension files, and the ability to play a file from a URL. maplay 1.2+ currently has none of these features, but check back here often for updates! (But maplay 1.2+ for Win32 does have support for seeks, unlike WinPlay3.) Anyway, I don't like Fraunhoffer because they have a monopoly over Layer III products. Their encoder and decoder programs are severely crippled. museArc has a 60 second restriction on playback time. The non-hacked version of WinPlay3 has a 20 second restriction on playback time. Ridiculous! Should I even consider WinPlay3 at all? Yes. Maplay 1.2+ for Win32 takes more CPU time to decode stereo layer III files than WinPlay3. Also, WinPlay3 has several modes that tradeoff audio quality for CPU usage. In general, WinPlay3 requires about 2/3 of the CPU time that maplay 1.2+ for Win32 does. So your background tasks will also execute faster if you are using WinPlay3. However, WinPlay3 lacks the ability to seek within a stream, and the highest playback quality is the same as maplay's. Besides speed, WinPlay3 also decodes MPEG-2 LSF streams which maplay 1.2+ does not support yet. What kind of interface does the program have? Check out the Maplay 1.2+ for Win32 Gallery! Cool. Where can I get maplay for Win32, and how do I install it? Maplay for Win32, version 1.81, is available here (on my shell account on cory, a Berkeley EECS server) in following four flavors: 486 Pentium InstallShield Setup mpw181-4.zip mpw181-5.zip No Installshield mpw4nois.zip mpw5nois.zip A few notes on installing: * The InstallShield Setup takes longer to download but will automatically configure everything for you. If you have WinZip, you can simply open the archive with WinZip, choose the file "setup.exe" and select the menu option Action...Install. If you are having difficulties (getting stuck at 42%, etc.), close all of your other programs and add the maplay through the Add/Remove Programs icon of the Control Panel. * The same files are contained in archives that do not contain the InstallShield setup. These are for people who are having problems using InstallShield, or who are having downloading problems. The versions with InstallShield are approximately 878 KB; the ones without InstallShield are approximately 270 KB. * If you plan to use the version with InstallShield, you should uninstall version 1.71 or later of maplay, if you have it, before you proceed. * All of these archives contain the source code. If you are using the InstallShield version and want to copy the source code, choose "Custom Setup". The source code is automatically unzipped to a /src subdirectory if you have the non-InstallShield version. * I have reports that the 486 version runs much faster on non-Intel CPU's such as AMD's K5 and Cyrix's 6x86. The console version, which should run on Windows 3.1 with Win32s, is also available here in two flavors: 486 Pentium mpcon-4.zip mpcon-5.zip Please see the above note for non-Intel CPU's. These are the NEWEST versions (1.81), last modified on April 20, 1997. See the "whatsnew.txt" file for details on the changes. How do I use maplay for Win32? Maplay for Win32 supports command-line playback, so you can associate MP2, MP3, or MPG files with maplay in the File Manager of Windows Explorer. Actually, this will now be partially done by the installation program, so you don't have to do anything yourself. Just select the MP2 (MPEG-1 Layer II Audio Stream) or LST (playlist) file in Explorer, and double-click! If you want to associate MP3 files to maplay, you will have to do this manually. Just delete whatever association you had before, and double-click on the MP3 file. Use maplay to open the file from now on.You can also use it as a viewer in Netscape. The MIME type is "audio", and the subtype is "x-mpeg". Finally, you can use as a stand-alone program, as there is a menu item to open files. Feel free to E-mail me if you need further instructions. If you need more powerful playlist abilities, you can use either : * MP3 Manager, Peter Strnad's playlist creator/launcher. * MP3 Jukebox by Niclas Borg. How much does maplay for Win32 cost? Nothing. Well, almost nothing. Of course you still have to pay for the access time and the long distance charges to download it! I do request that you e-mail me and tell me if it worked on your system. Also, your generous donations are welcomed but not required. To donate, please send a check or money order to: Jeff Tsay 1818 Walnut St. Apt. #3 Berkeley, CA 94709 I'm an extremely poor college student, so anything I receive will go towards my college education. Are there any bugs in maplay 1.2+ for Win32? Well, as I said before, I'm new at Windows programming, so I'm sure there are. But the following are the only bugs I know about: * Due to a memory leak in the waveOut functions of Windows 95, the allocated memory slowly increases for large files. There is nothing I can do about this. * Sometimes the shortcut keys don't work. You just have to use the mouse. I'll work on getting rid of these bugs, and if you find any others, please e-mail me. Where can I get MPEG audio files? Check out my list of MPEG Audio links. How do encode my own MPEG audio files? You can use Cool Edit 96 (with the MPEG audio extensions) or AMPEG 4.3, which is a DOS program, but considerably faster. (AMPEG now decodes Layer III files) Also required is the the source code archive that contains the tables. Remember, before WAV files are encoded, they must be saved in 16-bit format, with a 32 kHz or above sampling frequency. How do I port maplay 1.2+ to other platforms? The source is much more portable, so it should be relatively easy to compile for the following platforms: * IBM AIX * Sun SPARC * HP-UX * Linux * SGI Indigo * NeXTStep * BeBox (although the command-line interface code needs some small changes) Please see my porting notes for information on how to port to these and other platforms. So far no one has ported 1.81 to any other platform (as I am writing this before the official release!), but I expect that to change soon. I'll include a list of ports here, once people send them to me. --------------------------------------------------------------------------- Credits * Original source code by Tobias Bading. * Layer III code adopted from the ISO MPEG Audio Subgroup Software Simulation Group. * Win32 port, interface, and layer III porting and optimizations by Jeff Tsay. * Additional optimizations/modifications by Conrad Song, Timo Jantunen, and and Mikko Tommila. Please see the file credits.txt for the full credits. * License rights for the original maplay granted by the Free Software Foundation, Inc. * Borland C++ 5.01 compiler donated by Borland International. I wish to thank the following donators, whose contributions make developing maplay worth the effort: * Corky Coreson * Rich ??? (sorry, I don't remember your last name) * Deutsche Welle Radio via Wilfried Solbach The Future This MPEG decoder is only for MPEG-1 streams. The ability to decode MPEG-2 streams with the Low Frequency Extension will be added ASAP. Also a playlist creation interface and Netscape plug-in functionality are planned. The latest version of maplay is very portable, so I am waiting for people to port the code to many other operating systems. I'd like to see versions for FreeBSD and DOS. --------------------------------------------------------------------------- [Home] [Anime] [maplay 1.2+ for Win32] [Computer Info] [Japanese for Windows 95] Need more information? Broken links? Comments? Please contact me at ctsay@pasteur.eecs.berkeley.edu.